iT邦幫忙

DAY 19
0

駭客手法解析~你不能不知的資安問題!!系列 第 19

文件包含漏洞〈一〉

  • 分享至 

  • xImage
  •  

本地文件包含漏洞

又稱作為 LFI 〈Local File Inclusion〉,使用者能控制包含的文件參數,並利用 ../ 目錄遍歷,是一個惡名昭彰的漏洞。

Ex:test.com/test.php?test=header.php ,將 header.php 改成 ../../etc/passwd%00 就能將 /etc/passwd 顯示在頁面回應上, %00 的用處是截斷字串檢查。另外,若能上傳自定義的 PHP 檔,則利用 LFI 會有更大的危害。

而在一般的環境中,\0 字元是不會被用到的,因此可以禁止,但這並不是萬能的解決方案,利用 OS 本身對於檔案名稱長度的限制,同樣可以達到相同的效果,例如重複利用 ./ 擴充檔名。

而檢查檔案名稱也不是可靠的方法,攻擊者可嘗試利用不同的編碼以繞過 server 端的檢查。 因此,當 PHP 使用 open_basedir 將會給服務器很好的防護,使得這類型的攻擊無效。

另外,在 include 或是 fopen 等會對 file 進行操作的函式中,利用條件限制也能有效地防止這類型的攻擊發生, ex: switch 、 if else ...


上一篇
文件上傳漏洞概述〈四〉
下一篇
文件包含漏洞〈二〉
系列文
駭客手法解析~你不能不知的資安問題!!30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言